
	int aboutY = SCREEN_HEIGHT;
	long lastScrollTime = 0;
	

	void UpdateAbout()
	{
		playSound(SOUND.SND_ABOUT, 1, false);
		
		cGame_g.setColor(MENUS.ABOUT_BACKGROUND_COLOR);
		cGame_g.fillRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
		
		cGame_g.setFontColor(SOFTKEYS.COLOR);
		drawSoftKeys(SOFTKEYS.STR_NONE, SOFTKEYS.STR_BACK);
		
		String verNum = midlet_instance.getAppProperty("MIDlet-Version");
		if(verNum == null)
			verNum = "0.0.1";
		
		cGame_g.setClip(0, INGAME.VIEWPORT_Y, SCREEN_WIDTH,SCREEN_HEIGHT - INGAME.VIEWPORT_Y - SOFTKEYS.HUD_HEIGHT);
		
		try
		{
			if(cardsImg == null)
			{
				cardsImg = Image.createImage(SPRITES.CARDS_IMAGE);
			}
		}
		catch(Exception e)
		{
		}
		
		#ifdef USE_DRAWRGB
			cGame_g.drawRegion(cardsImg, SPRITES.CARD_MODULE_X[SPRITES.CARD_BALOON], SPRITES.CARD_MODULE_Y[SPRITES.CARD_BALOON], SPRITES.CARD_MODULE_W[SPRITES.CARD_BALOON], SPRITES.CARD_MODULE_H[SPRITES.CARD_BALOON], 0, INGAME.VIEWPORT_Y, INGAME.VIEWPORT_Y, 0);
			cGame_g.setColor(CARDS.CARD_COLOR);
			cGame_g.drawAlphaRect(INGAME.VIEWPORT_Y, INGAME.VIEWPORT_Y, SPRITES.CARD_MODULE_W[SPRITES.CARD_BALOON], SPRITES.CARD_MODULE_H[SPRITES.CARD_BALOON], MENUS.MAIN_MENU_ALPHA_LEVEL);
			cGame_g.drawRegion(cardsImg, SPRITES.CARD_MODULE_X[SPRITES.CARD_CANNON], SPRITES.CARD_MODULE_Y[SPRITES.CARD_CANNON], SPRITES.CARD_MODULE_W[SPRITES.CARD_CANNON], SPRITES.CARD_MODULE_H[SPRITES.CARD_CANNON], 0, SCREEN_WIDTH / 7 * 4, SCREEN_HEIGHT / 7 * 2, 0);
			cGame_g.setColor(CARDS.CARD_COLOR);
			cGame_g.drawAlphaRect(SCREEN_WIDTH / 7 * 4, SCREEN_HEIGHT / 7 * 2, SPRITES.CARD_MODULE_W[SPRITES.CARD_CANNON], SPRITES.CARD_MODULE_H[SPRITES.CARD_CANNON], MENUS.MAIN_MENU_ALPHA_LEVEL);
			cGame_g.drawRegion(cardsImg, SPRITES.CARD_MODULE_X[SPRITES.CARD_BOAT], SPRITES.CARD_MODULE_Y[SPRITES.CARD_BOAT], SPRITES.CARD_MODULE_W[SPRITES.CARD_BOAT], SPRITES.CARD_MODULE_H[SPRITES.CARD_BOAT], 0, INGAME.VIEWPORT_Y * 2, SCREEN_HEIGHT / 8 * 5, 0);
			cGame_g.setColor(CARDS.CARD_COLOR);
			cGame_g.drawAlphaRect(INGAME.VIEWPORT_Y * 2, SCREEN_HEIGHT / 8 * 5, SPRITES.CARD_MODULE_W[SPRITES.CARD_BOAT], SPRITES.CARD_MODULE_H[SPRITES.CARD_BOAT], MENUS.MAIN_MENU_ALPHA_LEVEL);
			cGame_g.drawRegion(cardsImg, SPRITES.CARD_MODULE_X[SPRITES.CARD_THING], SPRITES.CARD_MODULE_Y[SPRITES.CARD_THING], SPRITES.CARD_MODULE_W[SPRITES.CARD_THING], SPRITES.CARD_MODULE_H[SPRITES.CARD_THING], 0, SCREEN_WIDTH - SPRITES.CARD_MODULE_W[SPRITES.CARD_THING] * 2, SCREEN_HEIGHT - INGAME.VIEWPORT_Y - SPRITES.CARD_MODULE_H[SPRITES.CARD_THING], 0);
			cGame_g.setColor(CARDS.CARD_COLOR);
			cGame_g.drawAlphaRect(SCREEN_WIDTH - SPRITES.CARD_MODULE_W[SPRITES.CARD_THING] * 2, SCREEN_HEIGHT - INGAME.VIEWPORT_Y - SPRITES.CARD_MODULE_H[SPRITES.CARD_THING], SPRITES.CARD_MODULE_W[SPRITES.CARD_THING], SPRITES.CARD_MODULE_H[SPRITES.CARD_THING], MENUS.MAIN_MENU_ALPHA_LEVEL);
		#endif
		
		cGame_g.setFontHLColor(MENUS.ABOUT_HIGHLIGHT_COLOR);
		cGame_g.setFontColor(MENUS.ABOUT_TEXT_COLOR);
		#if SCREEN_WIDTH==128
		cGame_g.setFont(DGraph.FONT_SMALL);
		#endif
		cGame_g.drawString(TEXT.ABOUT_1 + verNum + TEXT.ABOUT_2, SCREEN_WIDTH / 2, aboutY, SCREEN_WIDTH - 40, DSmallFont.HCENTER | DSmallFont.VCENTER);
		#if SCREEN_WIDTH==128
		cGame_g.setFont(DGraph.FONT_BIG);
		#endif
		
		cGame_g.setClip(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
		
		
		if(lastScrollTime==0)	
		{
			lastScrollTime = System.currentTimeMillis();
		}
		
		int scrollTime = ((isKeyPressed(KEYS.KEY_DOWN))? MENUS.ABOUT_SCROLL_TIME_FAST : ((isKeyPressed(KEYS.KEY_UP))? MENUS.ABOUT_SCROLL_TIME_SLOW : MENUS.ABOUT_SCROLL_TIME));
		
		if(System.currentTimeMillis() - lastScrollTime > scrollTime)
		{
			aboutY--;
			lastScrollTime = 0;
		}
		
		if(aboutY < -500)
			aboutY = SCREEN_HEIGHT;
		
			
		if(isKeyPressed(KEYS.KEY_RSK))
		{
			stopSound();
			aboutY = SCREEN_HEIGHT;
			SetState(prev_game_state);
			clearKeys();
		}
	}
	
